UITextField
UITextField的基本用法
- 初始化textfield并设置位置及大小
UITextField * text = [[UITextField alloc]initWithFrame:CGRectMake(20, 20, 130, 30)]; - 设置边框样式,只有设置了才会显示边框样式
text.borderStyle = UITextBorderStyleRoundedRect; /* typedef enum { UITextBorderStyleNone, UITextBorderStyleLine, UITextBorderStyleBezel, UITextBorderStyleRoundedRect } UITextBorderStyle; */ - 设置输入框的背景颜色,此时设置为白色 如果使用了自定义的背景图片边框会被忽略掉
text.backgroundColor = [UIColor whiteColor]; - 设置背景
text.background = [UIImage imageNamed:@"dd.png"]; // text.disabledBackground = [UIImage imageNamed:@"cc.png"]; - 当输入框没有内容时,水印提示 提示内容为password
text.placeholder = @"password"; - 设置输入框内容的字体样式和大小
text.font = [UIFont fontWithName:@"Arial" size:20.0f]; - 设置字体颜色
text.textColor = [UIColor redColor]; - 输入框中是否有个叉号,在什么时候显示,用于一次性删除输入框中的内容
text.clearButtonMode = UITextFieldViewModeAlways; /* typedef enum { UITextFieldViewModeNever, 重不出现 UITextFieldViewModeWhileEditing, 编辑时出现 UITextFieldViewModeUnlessEditing, 除了编辑外都出现 UITextFieldViewModeAlways 一直出现 } UITextFieldViewMode; */ - 每输入一个字符就变成点 用语密码输入
text.secureTextEntry = YES; - 是否纠错
text.autocorrectionType = UITextAutocorrectionTypeNo; /* typedef enum { UITextAutocorrectionTypeDefault, 默认 UITextAutocorrectionTypeNo, 不自动纠错 UITextAutocorrectionTypeYes, 自动纠错 } UITextAutocorrectionType; */ - 再次编辑就清空
text.clearsOnBeginEditing = YES; - 内容对齐方式
text.textAlignment = UITextAlignmentLeft; - 内容的垂直对齐方式
/* UITextField继承自UIControl,此类中有一个属性contentVerticalAlignment */ text.contentVerticalAlignment = UIControlContentVerticalAlignmentCenter; - 设置为YES时文本会自动缩小以适应文本窗口大小.默认是保持原来大小,而让长文本滚动
text.adjustsFontSizeToFitWidth = YES; - 设置自动缩小显示的最小字体大小
text.minimumFontSize = 20; - 设置键盘的样式
text.keyboardType = UIKeyboardTypeNumberPad; /* typedef enum { UIKeyboardTypeDefault, 默认键盘,支持所有字符 UIKeyboardTypeASCIICapable, 支持ASCII的默认键盘 UIKeyboardTypeNumbersAndPunctuation, 标准电话键盘,支持+*#字符 UIKeyboardTypeURL, URL键盘,支持.com按钮 只支持URL字符 UIKeyboardTypeNumberPad, 数字键盘 UIKeyboardTypePhonePad, 电话键盘 UIKeyboardTypeNamePhonePad, 电话键盘,也支持输入人名 UIKeyboardTypeEmailAddress, 用于输入电子 邮件地址的键盘 UIKeyboardTypeDecimalPad, 数字键盘 有数字和小数点 UIKeyboardTypeTwitter, 优化的键盘,方便输入@、#字符 UIKeyboardTypeAlphabet = UIKeyboardTypeASCIICapable, } UIKeyboardType; */ - 首字母是否大写
text.autocapitalizationType = UITextAutocapitalizationTypeNone; /* typedef enum { UITextAutocapitalizationTypeNone, 不自动大写 UITextAutocapitalizationTypeWords, 单词首字母大写 UITextAutocapitalizationTypeSentences, 句子的首字母大写 UITextAutocapitalizationTypeAllCharacters, 所有字母都大写 } UITextAutocapitalizationType; */ - return键变成什么键
text.returnKeyType =UIReturnKeyDone; /* typedef enum { UIReturnKeyDefault, 默认 灰色按钮,标有Return UIReturnKeyGo, 标有Go的蓝色按钮 UIReturnKeyGoogle,标有Google的蓝色按钮,用语搜索 UIReturnKeyJoin,标有Join的蓝色按钮 UIReturnKeyNext,标有Next的蓝色按钮 UIReturnKeyRoute,标有Route的蓝色按钮 UIReturnKeySearch,标有Search的蓝色按钮 UIReturnKeySend,标有Send的蓝色按钮 UIReturnKeyYahoo,标有Yahoo的蓝色按钮 UIReturnKeyYahoo,标有Yahoo的蓝色按钮 UIReturnKeyEmergencyCall, 紧急呼叫按钮 } UIReturnKeyType; */ - 键盘外观
text.keyboardAppearance=UIKeyboardAppearanceDefault; /* typedef enum { UIKeyboardAppearanceDefault; 默认外观,浅灰色 UIKeyboardAppearanceAlert; 深灰 石墨色 } UIReturnKeyType; */ - 让键盘下去的方法
// touch事件提供的方法;此方法系统会自动调用,当手指触摸到手机屏幕上,会触发touch事件,一旦touch事件被触发,会自动调用此方法。
- (void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event
{
// (1) 让键盘下去的第一种方式
// 让文本框结束编辑状态。endEditing:
[self.window endEditing:YES];
// (2) 第二种方式:让文本框对象失去第一响应状态
// resign放弃Responder响应者
[textField resignFirstResponder];
// [textField becomeFirstResponder];
}
// 第三种方式 添加事件
/*
[tf addTarget:<#(id)#> action:<#(SEL)#> forControlEvents:<#(UIControlEvents)#>];
第一个参数:id对象类型,哪个对象执行绑定的方法 self
第二个参数:<#(SEL)#>oc中的方法类型,绑定的方法名,方法名必须被@selector()包裹起来。 @selector()方法选择器
第三个参数:控制事件,
UIControlEventEditingDidEndOnExit。此事件当点击键盘上的return键时,会触发此事件,此事件一旦触发,self会调用绑定的keyBoardDown方法。
*/
[tf addTarget:self action:@selector(keyBoardDown) forControlEvents:UIControlEventEditingDidEndOnExit];
// 绑定的方法
- (void)keyBoardDown
{
NSLog(@" ");
}
}